2027 Method
Changes 2
M

Floor.Create

Description:
Creates a new instance of architectural floor within the project.
Remarks:
To validate curve loop profile use BoundaryValidation. To get default floor type use GetDefaultFloorType(Document, Boolean).
Overloads (2):
Create(Document,IList[CurveLoop],ElementId,ElementId)
public static Floor Create(
	Document document,
	IList<CurveLoop> profile,
	ElementId floorTypeId,
	ElementId levelId
)
  • document
    The document in which the new floor is created.
  • IList<CurveLoop>
    profile
    An array of planar curve loops that represent the profile of the floor.
  • floorTypeId
    Id of the floor type to be used by the new Floor.
  • levelId
    Id of the level on which the floor is to be placed.
Return Value Floor If successful a new floor object within the project.
/// The example below shows how to use Floor.Create method to create a new structural floor (slab) on one level 
/// using a geometry profile and a floor type. 
/// In this sample, the geometry profile is a CurveLoop of lines, you can also use arcs, ellipses and splines.
Floor CreateFloor(Document document, Level level)
{
   // Get a floor type for floor creation
   ElementId floorTypeId = Floor.GetDefaultFloorType(document, false);

   // Build a floor profile for the floor creation
   XYZ first = new XYZ(0, 0, 0);
   XYZ second = new XYZ(20, 0, 0);
   XYZ third = new XYZ(20, 15, 0);
   XYZ fourth = new XYZ(0, 15, 0);
   CurveLoop profile = new CurveLoop();
   profile.Append(Line.CreateBound(first, second));
   profile.Append(Line.CreateBound(second, third));
   profile.Append(Line.CreateBound(third, fourth));
   profile.Append(Line.CreateBound(fourth, first));

   return Floor.Create(document, new List<CurveLoop> { profile }, floorTypeId, level.Id);
}
  • The ElementId levelId is not a Level. -or- The floorTypeId does not correspond to a FloorType. -or- The input curve loops cannot compose a valid boundary, that means: the "curveLoops" collection is empty; or some curve loops intersect with each other; or each curve loop is not closed individually; or each curve loop is not planar; or each curve loop is not in a plane parallel to the horizontal(XY) plane; or input curves contain at least one helical curve. -or- Input curves build invalid sketch. -or- Failed to create curve elements.
  • A non-optional argument was null
  • Cannot generate a sketch. -or- Failed to create new element.
  • The document is in failure mode: an operation has failed, and Revit requires the user to either cancel the operation or fix the problem (usually by deleting certain elements). -or- The document is being loaded, or is in the midst of another sensitive process.
  • The document has no open transaction.